<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>SuperBomberman: Référence du fichier final.h</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Généré par Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Page&nbsp;principale</span></a></li>
      <li class="current"><a href="files.html"><span>Fichiers</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Référence du fichier final.h</h1>Déclarations des fonctions pour l'utilisation de la SDL. <a href="#_details">Plus de détails...</a>
<p>
<code>#include &quot;<a class="el" href="jeu_8h-source.html">jeu.h</a>&quot;</code><br>
<code>#include &lt;SDL.h&gt;</code><br>

<p>
<a href="final_8h-source.html">Aller au code source de ce fichier.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Fonctions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#c6adf27f916c591a7a42096baa069707">Final_AllocationNombre</a> (SDL_Surface *nombre[10])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images des nombres.  <a href="#c6adf27f916c591a7a42096baa069707"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#9ef115adff7dd18f21a1d3ef4b3d3986">Final_AllocationValeurRect</a> (SDL_Rect &amp;val, const int &amp;x, const int &amp;y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des postions d'une surface.  <a href="#9ef115adff7dd18f21a1d3ef4b3d3986"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#6780cae3f28f6172ae46d7c48bce6a23">Final_AllocationImageFT</a> (SDL_Surface *&amp;terrain, SDL_Surface *&amp;fond, const int &amp;niveau)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images de fond et de Terrain.  <a href="#6780cae3f28f6172ae46d7c48bce6a23"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#e14e007d64189a7d6ce73453ee0b3f35">Final_AllocationImageMMBE</a> (SDL_Surface *&amp;mursolide, SDL_Surface *&amp;mur, SDL_Surface *&amp;bombes, SDL_Surface *&amp;explode, const int &amp;niveau)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images des murs solides, mur, bombes et explosion.  <a href="#e14e007d64189a7d6ce73453ee0b3f35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#8a3144418ce83032d06a1e08c4d5454c">Final_AllocationValeurRectMMBE</a> (const Terrain &amp;jeu, SDL_Surface *&amp;ecran, SDL_Surface *&amp;mursolide, SDL_Surface *&amp;mur, SDL_Surface *&amp;bombes, SDL_Surface *&amp;explode, SDL_Rect &amp;murpos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blittage des images des murs solides, mur, bombes et explosion sur l'Ecran.  <a href="#8a3144418ce83032d06a1e08c4d5454c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#a8f75aaa8574193cdf6cc8ebd5435be6">Final_AllocationImagePE</a> (SDL_Surface *ennemi[4], SDL_Surface *personnage[4], SDL_Surface *&amp;persoact, SDL_Surface *&amp;ennemiact, const int &amp;niveau)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images du Bomberman et des Ennemis.  <a href="#a8f75aaa8574193cdf6cc8ebd5435be6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#e2d570838d6815c44375ba5bdcf61e54">Final_Menu</a> (SDL_Event &amp;event, int &amp;niveau, int &amp;win, int &amp;quitter, bool &amp;jeufin)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gestion d'affichage et d'évènements du Menu.  <a href="#e2d570838d6815c44375ba5bdcf61e54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#e0afac501abe6f7811dee627cf244ed8">Final_AffichageMechant</a> (const dEnnemi &amp;mechant, SDL_Surface *ennemiact, SDL_Surface *ecran, SDL_Rect &amp;posennemi, int *tab)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blittage des images des Ennemis.  <a href="#e0afac501abe6f7811dee627cf244ed8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#e5e52b5c17cf2fdc819b015c281a3577">Final_MenuPause</a> (SDL_Surface *mpause[3], SDL_Surface *ecran, SDL_Rect &amp;menpos, bool &amp;jeufin, int &amp;quitter, int &amp;continuer, int &amp;win, SDL_Event &amp;event)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gestion d'affichage et d'évènements du Menu de pause.  <a href="#e5e52b5c17cf2fdc819b015c281a3577"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#32a730699c1771097487a7c6ebabae69">Final_MouvementEvent</a> (SDL_Event &amp;event, int &amp;continuer, int &amp;win, int &amp;bombepos, Bombe *bombe, int &amp;quitter, SDL_Surface *personnage[4], SDL_Surface *&amp;persoactuel, const Terrain &amp;jeu, Bomberman &amp;perso, SDL_Surface *ecran, SDL_Surface *mpause[3], bool &amp;jeufin, SDL_Rect &amp;menpos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gestion des mouvements, des events du Bomberman.  <a href="#32a730699c1771097487a7c6ebabae69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#8138ad1abb56697369b99b90557e9774">Final_TestInitBombe</a> (int &amp;initb, int &amp;init_a, Bombe *&amp;bombe)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise la Bombe si elle a déjà explosé.  <a href="#8138ad1abb56697369b99b90557e9774"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#85bee2853ac899de4c4194108f94a44d">Final_PoseBombe</a> (int &amp;poser, Bombe *&amp;bombe, Terrain &amp;jeu, const Bomberman &amp;perso, int &amp;init_a, int &amp;initb, int &amp;bombepos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fonction qui pose la Bombe.  <a href="#85bee2853ac899de4c4194108f94a44d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#1d14011ab277182804b4536b37ffd34a">Final_ExplosionBombe</a> (int &amp;poser, int &amp;perte_v, int &amp;explosion, int &amp;temps_explosion, int &amp;initb, int &amp;possible_mb, Bombe *&amp;bombe, Bomberman &amp;perso, Terrain &amp;jeu, dEnnemi &amp;mechant, int &amp;init_a)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fonction qui effectue l'explosion de la Bombe.  <a href="#1d14011ab277182804b4536b37ffd34a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#0bb750ea9ccfe3f41f4800b02c0f896e">Final_AffichageExplosion</a> (int &amp;explosion, const int &amp;temps_explosion, int &amp;perte_v, Terrain &amp;jeu)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fonction qui gère l'affichage de l'explosion.  <a href="#0bb750ea9ccfe3f41f4800b02c0f896e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#4f4e1fbacaf50353ec520c3eca4749e4">Final_AffichageEnnemis</a> (const dEnnemi &amp;mechant, SDL_Rect &amp;posennemi, SDL_Surface *&amp;ennemiact, SDL_Surface *ennemi[4], SDL_Surface *&amp;ecran, char *en_dir, int *tab)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blittage des images des Ennemis lors des Mouvements.  <a href="#4f4e1fbacaf50353ec520c3eca4749e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#49177abb657955196d82876bd74ac881">Final_TestFinaux</a> (dEnnemi &amp;mechant, Bomberman &amp;perso, Terrain &amp;jeu, int &amp;win, int &amp;niveau, int &amp;vie_niveau, int &amp;perte_v, int &amp;continuer, int &amp;dead, Case *touche_explosion, int &amp;gagner)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gère les tests finaux du Jeu.  <a href="#49177abb657955196d82876bd74ac881"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#9f0319772fd95546b540736e6c50aebf">Final_MouvementEnnemis</a> (dEnnemi &amp;mechant, const Jeu &amp;bombermangame, Terrain &amp;jeu)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gère le mouvement des Ennemis.  <a href="#9f0319772fd95546b540736e6c50aebf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#cb159e3eeb4549ba641e4e82483beca0">Final_LiberationMemoire</a> (SDL_Surface *ecran, SDL_Surface *menu, SDL_Surface *gameover, SDL_Surface *nombre[10], SDL_Surface *terrain, SDL_Surface *bombes, SDL_Surface *mursolide, SDL_Surface *explode, SDL_Surface *mur, SDL_Surface *fond, SDL_Surface *personnage[4], SDL_Surface *ennemi[4], SDL_Surface *load[5], SDL_Surface *menufin[3], SDL_Surface *mpause[3], SDL_Surface *winner)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libération propre en mémoire des SDL_Surface.  <a href="#cb159e3eeb4549ba641e4e82483beca0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#d94eef89db42e6acafc0b84d1065a82f">Final_AllocationLoad</a> (SDL_Surface *load[5])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images pour Chargement.  <a href="#d94eef89db42e6acafc0b84d1065a82f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#de27d03900bfc1acbac830e79722115d">Final_ChargementEntreNiveau</a> (SDL_Surface *load[5], SDL_Surface *&amp;ecran)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Affichage du chargement entre Niveaux.  <a href="#de27d03900bfc1acbac830e79722115d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#b960a38b8eb86c0a70ef0934178c39c7">Final_MenuFin</a> (SDL_Event &amp;event, SDL_Surface *menufin[3], SDL_Rect &amp;menpos, SDL_Surface *ecran, bool &amp;jeufin, bool &amp;restart)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gestion d'affichage du menu de fin.  <a href="#b960a38b8eb86c0a70ef0934178c39c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#4119805bc12faa7aac7f0cf09e4b457b">Final_AllocationMenuFin</a> (SDL_Surface *menufin[3])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images pour le menu de fin.  <a href="#4119805bc12faa7aac7f0cf09e4b457b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#214a050916fa6e2b13d0dbd76e8e172e">Final_AllocationMenuPause</a> (SDL_Surface *mpause[3])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation des images pour le menu de pause.  <a href="#214a050916fa6e2b13d0dbd76e8e172e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="final_8h.html#68d00b5a002c7ff00ddab2cc52448285">Final_AllocationVictoire</a> (SDL_Surface *&amp;winner)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocation de l'image pour la fin victorieuse du jeu.  <a href="#68d00b5a002c7ff00ddab2cc52448285"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Description détaillée</h2>
Déclarations des fonctions pour l'utilisation de la SDL. 
<p>
Ce fichier d'en-tête permet l'initialisation de la SDL, l'initialisation des variables nécessaires pour la SDL, la gestion du mouvement, les Menus, la gestion des explosions et de l'affichage du Terrain, des Ennemis et du Bomberman. <hr><h2>Documentation des fonctions</h2>
<a class="anchor" name="4f4e1fbacaf50353ec520c3eca4749e4"></a><!-- doxytag: member="final.h::Final_AffichageEnnemis" ref="4f4e1fbacaf50353ec520c3eca4749e4" args="(const dEnnemi &amp;mechant, SDL_Rect &amp;posennemi, SDL_Surface *&amp;ennemiact, SDL_Surface *ennemi[4], SDL_Surface *&amp;ecran, char *en_dir, int *tab)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AffichageEnnemis           </td>
          <td>(</td>
          <td class="paramtype">const dEnnemi &amp;&nbsp;</td>
          <td class="paramname"> <em>mechant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>posennemi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>ennemiact</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ennemi</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>en_dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>tab</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Blittage des images des Ennemis lors des Mouvements. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mechant</em>&nbsp;</td><td>une Liste d'Ennemis en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>posennemi</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ennemiact</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ennemi</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>en_dir</em>&nbsp;</td><td>un tableau de Caractère </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tab</em>&nbsp;</td><td>un tableau d'Entiers</td></tr>
  </table>
</dl>
Cette fonction gère l'affichage des Ennemis en utilisant les images et en affectant à la varibale SDL_Rect murpos la coordonnée dans le Terrain à l'aide du tableau d'Entier donné en paramètre. La fonction choisie le bon sprite en fonction de la direction pour chaque ennemis donné par le tableau de caractère. 
</div>
</div><p>
<a class="anchor" name="0bb750ea9ccfe3f41f4800b02c0f896e"></a><!-- doxytag: member="final.h::Final_AffichageExplosion" ref="0bb750ea9ccfe3f41f4800b02c0f896e" args="(int &amp;explosion, const int &amp;temps_explosion, int &amp;perte_v, Terrain &amp;jeu)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AffichageExplosion           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>explosion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>temps_explosion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>perte_v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fonction qui gère l'affichage de l'explosion. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>explosion</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>temps_explosion</em>&nbsp;</td><td>un Entier en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perte_v</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction gère l'affichage de l'explosion. En fait, elle désactive l'état "E" sur le plateau qui est activé par la fonction d'explosion. Si le temps actuel - temps_explosion &gt; 500ms et explosion = 1, alors on change l'état à "V". On affecte 0 à explosion et perte_v afin que le Bomberman puisse reperdre une vie à la prochaine bombe. 
</div>
</div><p>
<a class="anchor" name="e0afac501abe6f7811dee627cf244ed8"></a><!-- doxytag: member="final.h::Final_AffichageMechant" ref="e0afac501abe6f7811dee627cf244ed8" args="(const dEnnemi &amp;mechant, SDL_Surface *ennemiact, SDL_Surface *ecran, SDL_Rect &amp;posennemi, int *tab)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AffichageMechant           </td>
          <td>(</td>
          <td class="paramtype">const dEnnemi &amp;&nbsp;</td>
          <td class="paramname"> <em>mechant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ennemiact</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>posennemi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>tab</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Blittage des images des Ennemis. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mechant</em>&nbsp;</td><td>une Liste d'Ennemis en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ennemiact</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>posennemi</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction gère l'affichage des Ennemis en utilisant les images et en affectant à la varibale SDL_Rect murpos la coordonnée dans le Terrain à l'aide de la fonction GetPostion du module dennemis. Cette fonction sert juste à l'initialisation de l'image. Une autre est utilisée pour les mouvements. 
</div>
</div><p>
<a class="anchor" name="6780cae3f28f6172ae46d7c48bce6a23"></a><!-- doxytag: member="final.h::Final_AllocationImageFT" ref="6780cae3f28f6172ae46d7c48bce6a23" args="(SDL_Surface *&amp;terrain, SDL_Surface *&amp;fond, const int &amp;niveau)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationImageFT           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>terrain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>fond</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>niveau</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images de fond et de Terrain. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>terrain</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fond</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>niveau</em>&nbsp;</td><td>un Entier en donnée</td></tr>
  </table>
</dl>
Cette fonction affecte les images de fond d'écran et de fond de terrain en fonction du niveau. Il existe trois fonds différents pour l'ensemble du jeu. Ces fonds alterne de niveaux en niveaux. 
</div>
</div><p>
<a class="anchor" name="e14e007d64189a7d6ce73453ee0b3f35"></a><!-- doxytag: member="final.h::Final_AllocationImageMMBE" ref="e14e007d64189a7d6ce73453ee0b3f35" args="(SDL_Surface *&amp;mursolide, SDL_Surface *&amp;mur, SDL_Surface *&amp;bombes, SDL_Surface *&amp;explode, const int &amp;niveau)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationImageMMBE           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>mursolide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>mur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>bombes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>explode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>niveau</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images des murs solides, mur, bombes et explosion. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mursolide</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mur</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombes</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>explode</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>niveau</em>&nbsp;</td><td>un Entier en donnée</td></tr>
  </table>
</dl>
Cette fonction affecte les images de mur solides, de mur, de bombes et explosion en fonction du niveau. A l'image du terrain, il existe trois sets, un pour le niveau de l'herbe, un pour le niveau aquatique et un pour le niveau de l'espace. 
</div>
</div><p>
<a class="anchor" name="a8f75aaa8574193cdf6cc8ebd5435be6"></a><!-- doxytag: member="final.h::Final_AllocationImagePE" ref="a8f75aaa8574193cdf6cc8ebd5435be6" args="(SDL_Surface *ennemi[4], SDL_Surface *personnage[4], SDL_Surface *&amp;persoact, SDL_Surface *&amp;ennemiact, const int &amp;niveau)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationImagePE           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ennemi</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>personnage</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>persoact</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>ennemiact</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>niveau</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images du Bomberman et des Ennemis. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ennemi</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>personnage</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>persoact</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ennemiact</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>niveau</em>&nbsp;</td><td>un Entier en donnée</td></tr>
  </table>
</dl>
Cette fonction alloue les sprites du Bomberman et des Ennemis en fonction du niveau (3 sets = herbe, aquatique et espace), puis les variables ennemiact et persoact pointent sur le premier sprite pour le démarrage du Jeu. Ces variables seront utilisées dans la fonction de mouvement. 
</div>
</div><p>
<a class="anchor" name="d94eef89db42e6acafc0b84d1065a82f"></a><!-- doxytag: member="final.h::Final_AllocationLoad" ref="d94eef89db42e6acafc0b84d1065a82f" args="(SDL_Surface *load[5])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationLoad           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>load</em>[5]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images pour Chargement. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>load</em>&nbsp;</td><td>un tableau de taille 5 de SDL_Surface</td></tr>
  </table>
</dl>
Cette fonction affecte pour chaque élément du tableau l'image correspondant au temps de chargement. Ici 1s,2s,...,5s. 
</div>
</div><p>
<a class="anchor" name="4119805bc12faa7aac7f0cf09e4b457b"></a><!-- doxytag: member="final.h::Final_AllocationMenuFin" ref="4119805bc12faa7aac7f0cf09e4b457b" args="(SDL_Surface *menufin[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationMenuFin           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>menufin</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images pour le menu de fin. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>menufin</em>&nbsp;</td><td>un tableau de taille 2 de SDL_Surface</td></tr>
  </table>
</dl>
Cette fonction affecte pour chaque élément du tableau l'image correspondant au choix du menu. Ici quitter et menu. 
</div>
</div><p>
<a class="anchor" name="214a050916fa6e2b13d0dbd76e8e172e"></a><!-- doxytag: member="final.h::Final_AllocationMenuPause" ref="214a050916fa6e2b13d0dbd76e8e172e" args="(SDL_Surface *mpause[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationMenuPause           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mpause</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images pour le menu de pause. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mpause</em>&nbsp;</td><td>un tableau de taille 3 de SDL_Surface</td></tr>
  </table>
</dl>
Cette fonction affecte pour chaque élément du tableau l'image correspondant au choix du menu de pause. Ici Reprendre, Menu et Quitter. 
</div>
</div><p>
<a class="anchor" name="c6adf27f916c591a7a42096baa069707"></a><!-- doxytag: member="final.h::Final_AllocationNombre" ref="c6adf27f916c591a7a42096baa069707" args="(SDL_Surface *nombre[10])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationNombre           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>nombre</em>[10]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des images des nombres. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>nombre</em>&nbsp;</td><td>un tableau de taille 10 de SDL_Surface</td></tr>
  </table>
</dl>
Cette fonction affecte pour chaque élément du tableau l'image correspondant au nombre (de 0 à 9). 
</div>
</div><p>
<a class="anchor" name="9ef115adff7dd18f21a1d3ef4b3d3986"></a><!-- doxytag: member="final.h::Final_AllocationValeurRect" ref="9ef115adff7dd18f21a1d3ef4b3d3986" args="(SDL_Rect &amp;val, const int &amp;x, const int &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationValeurRect           </td>
          <td>(</td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation des postions d'une surface. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>un Entier en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>un Entier en donnée</td></tr>
  </table>
</dl>
Cette fonction est un mutateur qui permet d'allouer les positions (x,y) pour l'affichage à l'écran d'une Image. 
</div>
</div><p>
<a class="anchor" name="8a3144418ce83032d06a1e08c4d5454c"></a><!-- doxytag: member="final.h::Final_AllocationValeurRectMMBE" ref="8a3144418ce83032d06a1e08c4d5454c" args="(const Terrain &amp;jeu, SDL_Surface *&amp;ecran, SDL_Surface *&amp;mursolide, SDL_Surface *&amp;mur, SDL_Surface *&amp;bombes, SDL_Surface *&amp;explode, SDL_Rect &amp;murpos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationValeurRectMMBE           </td>
          <td>(</td>
          <td class="paramtype">const Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>mursolide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>mur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>bombes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>explode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>murpos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Blittage des images des murs solides, mur, bombes et explosion sur l'Ecran. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mursolide</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mur</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombes</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>explode</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>murpos</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction gère l'affichage du plateau du jeu en utilisant les images et en affectant à la varibale SDL_Rect murpos la coordonnée dans le Terrain. 
</div>
</div><p>
<a class="anchor" name="68d00b5a002c7ff00ddab2cc52448285"></a><!-- doxytag: member="final.h::Final_AllocationVictoire" ref="68d00b5a002c7ff00ddab2cc52448285" args="(SDL_Surface *&amp;winner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_AllocationVictoire           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>winner</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocation de l'image pour la fin victorieuse du jeu. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>winner</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction affecte l'image correspondant à la victoire à la variable winner. 
</div>
</div><p>
<a class="anchor" name="de27d03900bfc1acbac830e79722115d"></a><!-- doxytag: member="final.h::Final_ChargementEntreNiveau" ref="de27d03900bfc1acbac830e79722115d" args="(SDL_Surface *load[5], SDL_Surface *&amp;ecran)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_ChargementEntreNiveau           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>load</em>[5], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>ecran</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Affichage du chargement entre Niveaux. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>load</em>&nbsp;</td><td>un tableau de taille 5 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction affichage toutes les secondes un image appartenant au tableau load. 1s = load[0] 2s = load[1] etc ... Le chargement dure 5s et se situe entre les niveaux et au niveau du jeu. 
</div>
</div><p>
<a class="anchor" name="1d14011ab277182804b4536b37ffd34a"></a><!-- doxytag: member="final.h::Final_ExplosionBombe" ref="1d14011ab277182804b4536b37ffd34a" args="(int &amp;poser, int &amp;perte_v, int &amp;explosion, int &amp;temps_explosion, int &amp;initb, int &amp;possible_mb, Bombe *&amp;bombe, Bomberman &amp;perso, Terrain &amp;jeu, dEnnemi &amp;mechant, int &amp;init_a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_ExplosionBombe           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>poser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>perte_v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>explosion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>temps_explosion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>initb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>possible_mb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bombe *&amp;&nbsp;</td>
          <td class="paramname"> <em>bombe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bomberman &amp;&nbsp;</td>
          <td class="paramname"> <em>perso</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">dEnnemi &amp;&nbsp;</td>
          <td class="paramname"> <em>mechant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>init_a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fonction qui effectue l'explosion de la Bombe. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>poser</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perte_v</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>explosion</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>temps_explosion</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>initb</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>possible_mb</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombe</em>&nbsp;</td><td>un pointeur sur Bombe en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perso</em>&nbsp;</td><td>un Bomberman en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mechant</em>&nbsp;</td><td>une Liste d'Ennemis en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>init_a</em>&nbsp;</td><td>un Entier en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction effectue l'explosion de la Bombe si la variable poser = 1 Ensuite si le temps actuel - le champs temps de la bombe est inférieur à 2500ms, on effectue pas l'explosion. Une fois ce temps &gt;= 2500ms, on affecte 1 à explosion, on incremente le nombre de bombe du Bomberman, on affecte 0 à poser, à init_a et 1 à initb (afin de reposer une bombe). On execute la fonction d'explosion des Murs, de teste de presénce du Bomberman et d'Ennemis sur le rayon. Puis on affecte l'heure où à lieu l'explosion dans la variable temps_explosion, afin de maintenir quelques secondes l'explosion. Si le Bomberman perd une vie à cause de l'explosion, on affecte 1 à perte_v afin qu'il ne perde pas de vie s'il reste au contact de l'explosion. 
</div>
</div><p>
<a class="anchor" name="cb159e3eeb4549ba641e4e82483beca0"></a><!-- doxytag: member="final.h::Final_LiberationMemoire" ref="cb159e3eeb4549ba641e4e82483beca0" args="(SDL_Surface *ecran, SDL_Surface *menu, SDL_Surface *gameover, SDL_Surface *nombre[10], SDL_Surface *terrain, SDL_Surface *bombes, SDL_Surface *mursolide, SDL_Surface *explode, SDL_Surface *mur, SDL_Surface *fond, SDL_Surface *personnage[4], SDL_Surface *ennemi[4], SDL_Surface *load[5], SDL_Surface *menufin[3], SDL_Surface *mpause[3], SDL_Surface *winner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_LiberationMemoire           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>menu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>gameover</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>nombre</em>[10], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>terrain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>bombes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mursolide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>explode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>fond</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>personnage</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ennemi</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>load</em>[5], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>menufin</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mpause</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>winner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Libération propre en mémoire des SDL_Surface. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menu</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gameover</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nombre</em>&nbsp;</td><td>un tableau de taille 10 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>terrain</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombes</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mursolide</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>explode</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mur</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fond</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>personnage</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ennemi</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>load</em>&nbsp;</td><td>un tableau de taille 5 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menufin</em>&nbsp;</td><td>un tableau de taille 2 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mpause</em>&nbsp;</td><td>un tableau de taille 3 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>winner</em>&nbsp;</td><td>un pointeur sur SDL_Surface</td></tr>
  </table>
</dl>
Cette fonction libère proprement en mémoire l'ensemble des SDL_Surface utilisée au cours de la partie de Bomberman. Elle est utilisée en toute fin de partie, avant que le jeu ne se quitte. 
</div>
</div><p>
<a class="anchor" name="e2d570838d6815c44375ba5bdcf61e54"></a><!-- doxytag: member="final.h::Final_Menu" ref="e2d570838d6815c44375ba5bdcf61e54" args="(SDL_Event &amp;event, int &amp;niveau, int &amp;win, int &amp;quitter, bool &amp;jeufin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_Menu           </td>
          <td>(</td>
          <td class="paramtype">SDL_Event &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>niveau</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>win</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>quitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>jeufin</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gestion d'affichage et d'évènements du Menu. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>un SDL_Event en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>niveau</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quitter</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeufin</em>&nbsp;</td><td>un Booléen en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction permet de choisir entre quitter le jeu ou commencer une partie. L'ensemble des variables en paramètre doivent être initialisées. Si l'option quitter est choisie jeufin = true et quitter = 1 ce qui permet de sortir des deux boucles dans le fichier main. Si l'option jouer est choisie win = 1 et niveau = 1, ce qui permet de rentrer dans la boucle de jeu tant que le Bomberman est vivant. 
</div>
</div><p>
<a class="anchor" name="b960a38b8eb86c0a70ef0934178c39c7"></a><!-- doxytag: member="final.h::Final_MenuFin" ref="b960a38b8eb86c0a70ef0934178c39c7" args="(SDL_Event &amp;event, SDL_Surface *menufin[3], SDL_Rect &amp;menpos, SDL_Surface *ecran, bool &amp;jeufin, bool &amp;restart)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_MenuFin           </td>
          <td>(</td>
          <td class="paramtype">SDL_Event &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>menufin</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>menpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>jeufin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>restart</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gestion d'affichage du menu de fin. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>un SDL_Event en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menufin</em>&nbsp;</td><td>un tableau de taille 2 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menpos</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeufin</em>&nbsp;</td><td>un Booléen en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>restart</em>&nbsp;</td><td>un Booléen en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction affiche le menu de fin en fin de partie (game over), en blittant sur l'ecran l'image qui correspond au choix du joueur en appuyant sur H/B. Si le joueur appuis espace: S'il se trouve sur Quitter, jeufin prend la valeur true, le jeu se quitte, S'il se trouve sur Menu, jeufin prend la valeur false, il retourne sur le Menu. S'il se trouve sur Recommencer, jeufin prend la valeur false et restart la valeur true, il retourne en haut de bouclke mais court-circuitre le Menu. 
</div>
</div><p>
<a class="anchor" name="e5e52b5c17cf2fdc819b015c281a3577"></a><!-- doxytag: member="final.h::Final_MenuPause" ref="e5e52b5c17cf2fdc819b015c281a3577" args="(SDL_Surface *mpause[3], SDL_Surface *ecran, SDL_Rect &amp;menpos, bool &amp;jeufin, int &amp;quitter, int &amp;continuer, int &amp;win, SDL_Event &amp;event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_MenuPause           </td>
          <td>(</td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mpause</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>menpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>jeufin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>quitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>continuer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>win</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Event &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gestion d'affichage et d'évènements du Menu de pause. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mpause</em>&nbsp;</td><td>un tableau de taille 3 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ecran</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menpos</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeufin</em>&nbsp;</td><td>un Booléen en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quitter</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>continuer</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>un SDL_Event en donnée</td></tr>
  </table>
</dl>
Cette fonction permet de mettre en pause le jeu lorsque la touche ESC est activée (utilisé dans la fonction de mouvement). Le jeu rentre alors dans une boucle tant qu'on a pas choisie une option. Reprendre : on sort de la boucle en affectant false à true. Le jeu reprend normalement. Menu : On sort de la boucle du jeu en mettatn continuer et win à 0 , on affecte false à jeufin mais 1 à quitter, on revient ainsi au menu principal Quitter : On sort de la boucle du jeu en mettant continuer et win à 0 , on affecte true à jeufin et 1 à quitter, on quitte ainsi le jeu, car on sort de toutes les boucles. 
</div>
</div><p>
<a class="anchor" name="9f0319772fd95546b540736e6c50aebf"></a><!-- doxytag: member="final.h::Final_MouvementEnnemis" ref="9f0319772fd95546b540736e6c50aebf" args="(dEnnemi &amp;mechant, const Jeu &amp;bombermangame, Terrain &amp;jeu)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_MouvementEnnemis           </td>
          <td>(</td>
          <td class="paramtype">dEnnemi &amp;&nbsp;</td>
          <td class="paramname"> <em>mechant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Jeu &amp;&nbsp;</td>
          <td class="paramname"> <em>bombermangame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gère le mouvement des Ennemis. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mechant</em>&nbsp;</td><td>une Liste d'Ennemis en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombermangame</em>&nbsp;</td><td>un Jeu en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction gère le mouvement des Ennemis à la vitesse prédéfinis par le champs temps_mouvement dans la structure Jeu. Pour cela on teste si temps actuel - temps_ennemis (initialisation) &gt;= temps_mouvement. Si oui on effectue les mouvements et temps_ennemis = temps_actuels, pour le prochain mouvement. 
</div>
</div><p>
<a class="anchor" name="32a730699c1771097487a7c6ebabae69"></a><!-- doxytag: member="final.h::Final_MouvementEvent" ref="32a730699c1771097487a7c6ebabae69" args="(SDL_Event &amp;event, int &amp;continuer, int &amp;win, int &amp;bombepos, Bombe *bombe, int &amp;quitter, SDL_Surface *personnage[4], SDL_Surface *&amp;persoactuel, const Terrain &amp;jeu, Bomberman &amp;perso, SDL_Surface *ecran, SDL_Surface *mpause[3], bool &amp;jeufin, SDL_Rect &amp;menpos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_MouvementEvent           </td>
          <td>(</td>
          <td class="paramtype">SDL_Event &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>continuer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>win</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>bombepos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bombe *&nbsp;</td>
          <td class="paramname"> <em>bombe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>quitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>personnage</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&amp;&nbsp;</td>
          <td class="paramname"> <em>persoactuel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bomberman &amp;&nbsp;</td>
          <td class="paramname"> <em>perso</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>ecran</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Surface *&nbsp;</td>
          <td class="paramname"> <em>mpause</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>jeufin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SDL_Rect &amp;&nbsp;</td>
          <td class="paramname"> <em>menpos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gestion des mouvements, des events du Bomberman. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>un SDL_Event en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>continuer</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombepos</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombe</em>&nbsp;</td><td>un pointeur sur Bombe </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quitter</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>personnage</em>&nbsp;</td><td>un tableau de taille 4 de pointeur sur SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>persoactuel</em>&nbsp;</td><td>un pointeur sur SDL_Surface en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perso</em>&nbsp;</td><td>un Bomberman en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mpause</em>&nbsp;</td><td>un tableau de taille 3 de SDL_Surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeufin</em>&nbsp;</td><td>un Booléen en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>menpos</em>&nbsp;</td><td>un SDL_Rect en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction permet la gestion des évènnements pour le Bomberman. Elle affecte une touche du clavier à une action du bomberman. Espace : On pose une Bombe si aucune autre bombe est posée. La variable bombepos prend la valeur 1, permet l'explosion dans une autre fonction. Haut : Bomberman monte d'une case s'il le peut. Execute la fonction de mouvement pour avancer ves le haut et charge l'image "haut" du bomberman dans persoactuel. Bas : Bomberman descend d'une case s'il le peut.Execute la fonction de mouvement pour avancer ves le bas et charge l'image "bas" du bomberman dans persoactuel. Gauche : Bomberman avance d'une case vers la gauche s'il le peut. Execute la fonction de mouvement pour avancer ves la gauche et charge l'image "gauche" du bomberman dans persoactuel. Droite : Bomberman avance d'une case vers la droite s'il le peut. Execute la fonction de mouvement pour avancer ves le droite et charge l'image "droit" du bomberman dans persoactuel. Echap : Met le jeu en Pause. En appelant la fonction de Pause de ce module elle donne en paramètre les variables mpause, ecran, menpos, jeufin, quitter, continuer, win et event 
</div>
</div><p>
<a class="anchor" name="85bee2853ac899de4c4194108f94a44d"></a><!-- doxytag: member="final.h::Final_PoseBombe" ref="85bee2853ac899de4c4194108f94a44d" args="(int &amp;poser, Bombe *&amp;bombe, Terrain &amp;jeu, const Bomberman &amp;perso, int &amp;init_a, int &amp;initb, int &amp;bombepos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_PoseBombe           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>poser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bombe *&amp;&nbsp;</td>
          <td class="paramname"> <em>bombe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Bomberman &amp;&nbsp;</td>
          <td class="paramname"> <em>perso</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>init_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>initb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>bombepos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fonction qui pose la Bombe. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>poser</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombe</em>&nbsp;</td><td>un pointeur sur Bombe en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perso</em>&nbsp;</td><td>un Bomberman en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>init_a</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>initb</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombepos</em>&nbsp;</td><td>un Entier en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction pose la Bombe aux coordonnées ou se trouve le Bomberman si bombepos = 1. On lance la fonction de teste du posage de Bombe dans le module Bombe. Si on ne peut poser la bombe, on utilise Testament de la bombe et on affecte 1 à initb pour l'initialiser au prochain tour de boucle. Si on peut poser la bombe, on decremente le nombre de bombe du Bomberman et on affecte 1 à poser pour effectuer l'explosion. L'heure système du posage de bombe est enregistré dans le champs temps de la bombe. 
</div>
</div><p>
<a class="anchor" name="49177abb657955196d82876bd74ac881"></a><!-- doxytag: member="final.h::Final_TestFinaux" ref="49177abb657955196d82876bd74ac881" args="(dEnnemi &amp;mechant, Bomberman &amp;perso, Terrain &amp;jeu, int &amp;win, int &amp;niveau, int &amp;vie_niveau, int &amp;perte_v, int &amp;continuer, int &amp;dead, Case *touche_explosion, int &amp;gagner)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_TestFinaux           </td>
          <td>(</td>
          <td class="paramtype">dEnnemi &amp;&nbsp;</td>
          <td class="paramname"> <em>mechant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bomberman &amp;&nbsp;</td>
          <td class="paramname"> <em>perso</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Terrain &amp;&nbsp;</td>
          <td class="paramname"> <em>jeu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>win</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>niveau</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>vie_niveau</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>perte_v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>continuer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>dead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Case *&nbsp;</td>
          <td class="paramname"> <em>touche_explosion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>gagner</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gère les tests finaux du Jeu. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mechant</em>&nbsp;</td><td>une Liste d'Ennemis en donnée </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perso</em>&nbsp;</td><td>un Bomberman en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>jeu</em>&nbsp;</td><td>un Terrain en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>win</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>niveau</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vie_niveau</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perte_v</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>continuer</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dead</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>touche_explosion</em>&nbsp;</td><td>un pointeur sur Case </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>gagner</em>&nbsp;</td><td>un Entier en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction gère les tests finaux de fin de jeu, en plus du test de contact avec l'explosion pour le Bomberman et un ou plusieurs ennemis. Si le Bomberman touche une explosion, on décrement sa vie et on affecte 1 à perte_v afin qu'il ne reperde pas de vie avant la prochaine bombe. Cette fonction va tester aussi si le Bomberman a toujours assez de vie pour continuer le jeu, sinon GameOver. Et finalement, la fonction teste si tout les ennemis ont été tué pour passer au niveau suivant en incrementant la variable niveau et en sauvegardant le nombre de vie actuel dans vie_niveau. Finalement, cette fonction teste aussi si on a fini le jeu et affecte 1 à winner si Oui. 
</div>
</div><p>
<a class="anchor" name="8138ad1abb56697369b99b90557e9774"></a><!-- doxytag: member="final.h::Final_TestInitBombe" ref="8138ad1abb56697369b99b90557e9774" args="(int &amp;initb, int &amp;init_a, Bombe *&amp;bombe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Final_TestInitBombe           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>initb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>init_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Bombe *&amp;&nbsp;</td>
          <td class="paramname"> <em>bombe</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialise la Bombe si elle a déjà explosé. 
<p>
<dl compact><dt><b>Paramètres:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>initb</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>init_a</em>&nbsp;</td><td>un Entier en donnée/résultat </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bombe</em>&nbsp;</td><td>un pointeur sur Bombe en donnée/résultat</td></tr>
  </table>
</dl>
Cette fonction initialise la Bombe si elle a déjà explosé (Testament), elle a explosé si initb vaut 1. Si elle a explosé, on l'initialise et on affecte 1 à init_a qui permet de dire que la Bombe est initialisée et qu'on peut l'utiliser ou la supprime proprement en mémoire à la fin du jeu si elle n'a pas resservie. 
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Généré le Sun Jun 7 15:01:15 2009 pour SuperBomberman par&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
